let p1 = new Promise(resolve => {
    setTimeout(() => {
        a = 'hello'
        resolve('hello')
    }, 1000)
})

function p2(value) {
    return new Promise(resolve => {
        setTimeout(() => {
            resolve(value + 'lagou')
        }, 1000)
    })
}

function p3(value) {
    return new Promise(resolve => {
        setTimeout(() => {
            console.log(value+ 'I AI U')
        }, 1000)
    })
}

p1.then(value => {
    return p2(value)
}).then(value => {
    return p3(value)
})